package com.evaluation.kexingcp.psycho.evaluation.sys.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.evaluation.kexingcp.common.core.util.TenantTable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 任务名称
 *
 * @author pig
 * @date 2024-07-12 09:48:56
 */
@TenantTable
@TableName("evaluation_task")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "任务名称")
public class EvaluationTaskEntity extends Model<EvaluationTaskEntity> {


	/**
	* 任务名称
	*/
    @Schema(description="任务名称")
    private String taskName;

	/**
	* 任务完成时间
	*/
    @Schema(description="任务完成时间")
    private String taskTime;

	/**
	* 任务描述
	*/
    @Schema(description="任务介紹")
    private String taskDescribe;

	@Schema(description="任务重要性")
	private String taskImportant;


	/**
	* 主键
	*/
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description="主键")
    private Long id;

	/**
	* 创建人
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建人")
    private String createBy;

	/**
	* 创建时间
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建时间")
    private LocalDateTime createTime;

	/**
	* 修改人
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="修改人")
    private String updateBy;

	/**
	* 修改时间
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="修改时间")
    private LocalDateTime updateTime;

	/**
	* 删除标记
	*/
    @TableLogic
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="删除标记")
    private String delFlag;

	@TableField(fill = FieldFill.INSERT)
	@Schema(description="部门id")
	private Long deptId;


	@TableField(fill = FieldFill.INSERT_UPDATE)
	@Schema(description="图表配置")
	private String chartConfig;

	@TableField(fill = FieldFill.INSERT)
	@Schema(description="部门id")
	private Integer canViewPersonalReport;

	@TableField(fill = FieldFill.UPDATE)
	@Schema(description="报告是否生成完成")
	private Integer isTeamReportCompleted;


	@TableField(fill = FieldFill.INSERT_UPDATE)
	@Schema(description="团队特点和背景")
	private String teamFeatureBg;

	@TableField(exist = false)
	private int userCount;

	@TableField(exist = false)
	private int userCompletedCount;

	@TableField(exist = false)
	private String name;

	@TableField(fill = FieldFill.UPDATE)
	private String taskReportData;

	@TableField(fill = FieldFill.UPDATE)
	private String taskReportUrl;

	@TableField(fill = FieldFill.INSERT)
	private Integer taskLevel;

	private Long scaleId;

	public Long getScaleId() {
		return scaleId;
	}

	public void setScaleId(Long scaleId) {
		this.scaleId = scaleId;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getTaskLevel() {
		return taskLevel;
	}

	public void setTaskLevel(Integer taskLevel) {
		this.taskLevel = taskLevel;
	}

	public String getTaskReportUrl() {
		return taskReportUrl;
	}

	public void setTaskReportUrl(String taskReportUrl) {
		this.taskReportUrl = taskReportUrl;
	}

	public String getTaskReportData() {
		return taskReportData;
	}

	public void setTaskReportData(String taskReportData) {
		this.taskReportData = taskReportData;
	}

	public String getTeamFeatureBg() {
		return teamFeatureBg;
	}

	public void setTeamFeatureBg(String teamFeatureBg) {
		this.teamFeatureBg = teamFeatureBg;
	}

	public Integer getIsTeamReportCompleted() {
		return isTeamReportCompleted;
	}

	public void setIsTeamReportCompleted(Integer isTeamReportCompleted) {
		this.isTeamReportCompleted = isTeamReportCompleted;
	}

	public Integer getCanViewPersonalReport() {
		return canViewPersonalReport;
	}

	public void setCanViewPersonalReport(Integer canViewPersonalReport) {
		this.canViewPersonalReport = canViewPersonalReport;
	}

	public String getChartConfig() {
		return chartConfig;
	}

	public void setChartConfig(String chartConfig) {
		this.chartConfig = chartConfig;
	}

	public String getTaskImportant() {
		return taskImportant;
	}

	public void setTaskImportant(String taskImportant) {
		this.taskImportant = taskImportant;
	}

	public String getTaskTime() {
		return taskTime;
	}

	public void setTaskTime(String taskTime) {
		this.taskTime = taskTime;
	}


	public int getUserCount() {
		return userCount;
	}

	public void setUserCount(int userCount) {
		this.userCount = userCount;
	}

	public int getUserCompletedCount() {
		return userCompletedCount;
	}

	public void setUserCompletedCount(int userCompletedCount) {
		this.userCompletedCount = userCompletedCount;
	}

	/**
	 * JSON_ARRAY字段表示
	 */
	@TableField(exist = false)
	private String scales;

	public String getScales() {
		return scales;
	}

	public void setScales(String scales) {
		this.scales = scales;
	}

	public Long getDeptId() {
		return deptId;
	}

	public void setDeptId(Long deptId) {
		this.deptId = deptId;
	}

	/**
	* 租户ID
	*/
    @Schema(description="租户ID")
    private Long tenantId;

	public String getTaskName() {
		return taskName;
	}

	public void setTaskName(String taskName) {
		this.taskName = taskName;
	}


	public String getTaskDescribe() {
		return taskDescribe;
	}

	public void setTaskDescribe(String taskDescribe) {
		this.taskDescribe = taskDescribe;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getCreateBy() {
		return createBy;
	}

	public void setCreateBy(String createBy) {
		this.createBy = createBy;
	}

	public LocalDateTime getCreateTime() {
		return createTime;
	}

	public void setCreateTime(LocalDateTime createTime) {
		this.createTime = createTime;
	}

	public String getUpdateBy() {
		return updateBy;
	}

	public void setUpdateBy(String updateBy) {
		this.updateBy = updateBy;
	}

	public LocalDateTime getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(LocalDateTime updateTime) {
		this.updateTime = updateTime;
	}

	public String getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag;
	}

	public Long getTenantId() {
		return tenantId;
	}

	public void setTenantId(Long tenantId) {
		this.tenantId = tenantId;
	}
}